package bcMedEntity;


import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import bcMedBeans.*;
import bcMedEntityInterface.IEntityDataBaseWrite;

/**
 * Gerencia Operacoes de Escrita no Banco de Dados
 *
 */
public class EntityDataBaseWrite implements IEntityDataBaseWrite{

	EntityDataBase entityDataBase;
	
	public EntityDataBaseWrite(EntityDataBase entityDataBase){
		this.entityDataBase = entityDataBase;
		return;
	}
	
	public void writePlanoSaude(PlanoSaude data){
		String a1 = data.getNome();
		String values = "'"+a1+"'";
		String sql = "INSERT INTO plano_saude (nome) VALUES("+values+")";
		entityDataBase.executeUpdate(sql);
		return;
	}

	public void writeEndereco(Endereco data){
		String a1 = data.getRua();
		int a2 = data.getNumero();
		String a3 = data.getBairro();
		String a4 = data.getCep();
		String a5 = data.getCidade();
		String a6 = data.getEstado();
		String values = "'"+a1+"',"+a2+",'"+a3+"','"+a4+"','"+a5+"','"+a6+"'";
		String sql = "INSERT INTO endereco (rua,numero,bairro,cep,cidade,estado) VALUES("+values+")";
		entityDataBase.executeUpdate(sql);		
		return;
	}
	
	
	public void writeConsulta(Consulta data){
		
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
		String a2 = sf.format(data.getData());
		
		Paciente p = data.getPaciente();
		Medico m = data.getMedico();
		StatusConsulta sc = data.getStatusConsulta();
		TipoConsulta tc = data.getTipoConsulta();
		
		int a3 = p.getIdPaciente();
		int a4 = m.getIdMedico();
		int a5 = sc.getIdStatusConsulta();
		int a6 = tc.getIdTipoConsulta();
		
		String values = "'"+a2+"',"+a3+","+a4+","+a5+","+a6+" ";
		String sql = "INSERT INTO consulta (data,paciente_idPaciente,medico_idmedico,status_consulta_idstatus_consulta,tipo_consulta_idtipo_consulta) VALUES("+values+")";
		entityDataBase.executeUpdate(sql);		
		return;
	}
	
	
	public void writeMedico(Medico data){
		//int a1 = data.getIdMedico();
		String a1 = data.getNome();
		//List<Consulta> a3 = data.getConsultaList();
		String values = "'"+a1+"'";
		String sql = "INSERT INTO medico (nome) VALUES("+values+")";
		entityDataBase.executeUpdate(sql);		
		return;		
	}
	
	public void writePaciente(Paciente data){
		 String a2 = data.getNome();
		 int a3 = data.getIdade();
		 char a4 = data.getSexo();		
		 
		 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
		 String a5 = sf.format(data.getCadastro());
		 PlanoSaude sp = data.getPlanoSaude();
		 Endereco e = data.getEndereco();
		 int a6 = sp.getIdPlanoSaude();
		 int a7 = e.getIdEndereco();
		 
		String values = "'"+a2+"',"+a3+",'"+a4+"','"+a5+"',"+a6+","+a7+"";
		String sql = "INSERT INTO paciente (nome,idade,sexo,cadastro,plano_saude_idplano_saude,endereco_idendereco) VALUES("+values+")";
		entityDataBase.executeUpdate(sql);		
		return;
	}
	
	public void writeStatusConsulta(StatusConsulta data){
		//int a1 = data.getIdStatusConsulta();
		String a1 = data.getNome();
		String values = "'"+a1+"'";
		String sql = "INSERT INTO status_consulta (nome) VALUES("+values+")";
		entityDataBase.executeUpdate(sql);		
		return;
	}
	
	public void writeTipoConsutla(TipoConsulta data){
		//int a1 = data.getIdTipoConsulta();
		String a1 = data.getNome();
		
		String values = "'"+a1+"'";
		String sql = "INSERT INTO tipo_consulta (nome) VALUES("+values+")";
		entityDataBase.executeUpdate(sql);		
		return;
	}
	
}
